<?php
/**
 *  单页文章模型类
 */
namespace app\admin\model;
use think\Model;
use think\Db;

class Single extends Model
{

    // 获取文章列表
    public function getList()
    {
        $field = array(
            'a.id',
            'a.scode',
            'b.name as sort_name',
            'a.title',
            'a.date',
            'a.status',
            'a.visits',
            'b.mcode',
            'a.ico',
            'a.pics',
            'a.outlink',
			'c.type',
			'c.urlname'
        );
        $list= Db::name('content a')->Distinct(true)
            ->field($field)
            ->where('c.type=1')
            ->join('content_sort b', 'a.scode=b.scode', 'left')
			->join('model c', 'b.mcode=c.mcode', 'left')
            ->where('a.id IN(SELECT MAX(d.id) FROM cb_content d WHERE d.scode=a.scode)')
            ->order('a.id DESC')
            ->select();
		foreach($list as $k=>$val){
			$list[$k]['link']=url('../index/'.$val['urlname'],['tid'=>$val['scode']]);
		}
		return $list;
    }

    // 查找文章
    public function findSingle($field, $keyword)
    {
        $fields = array(
            'a.id',
            'a.scode',
            'b.name as sort_name',
            'a.title',
            'a.date',
            'a.status',
            'a.visits',
            'b.mcode',
            'a.ico',
            'a.pics',
            'a.outlink',
			'c.type',
			'c.urlname'
        );
        $result= Db::name('content a')->Distinct(true)
            ->field($fields)
            ->where('c.type=1')
            ->like($field, $keyword)
			->join('content_sort b', 'a.scode=b.scode', 'left')
			->join('model c', 'b.mcode=c.mcode', 'left')
            ->group('b.name')
            ->order('a.id DESC')
            ->select();
		if($result['type']!='1'){
			$result['link']=url('../index/'.$result['urlname'],['id'=>$result['id']]);
		}else{
			$result['link']=url('../index/'.$result['urlname'],['tid'=>$result['scode']]);
		}
        return $result;
    }

    // 检查文章
    public function checkSingle($where)
    {
        return Db::name('content')->field('id')
            ->where($where)
            ->find();
    }

    // 获取文章详情
    public function getSingle($id)
    {
        $field = array(
            'a.*',
            'b.name as sort_name'
        );
        return Db::name('content')->alias('a')->field($field)
            ->where("a.id=".$id)
			->join('content_sort b', 'a.scode=b.scode', 'left')
            ->find();
    }

    // 添加文章
    public function addSingle(array $data)
    {
        return Db::name('content')->insert($data);
    }

    // 删除文章
    public function delSingle($id)
    {
        return Db::name('content')->where("id=$id")
            ->delete();
    }

    // 修改文章
    public function modSingle($id, $data)
    {
        return Db::name('content')
            ->where("id",$id)
            ->update($data);
    }

    // 查找文章扩展内容
    public function findContentExt($id)
    {
        return Db::name('content_ext')->where("contentid=$id")->find();
    }

    // 添加文章扩展内容
    public function addContentExt(array $data)
    {
        return Db::name('content_ext')->insert($data);
    }

    // 修改文章扩展内容
    public function modContentExt($id, $data)
    {
        return Db::name('content_ext')->where("contentid=$id")->update($data);
    }

    // 删除文章扩展内容
    public function delContentExt($id)
    {
        return Db::name('content_ext')->where("contentid=$id")->delete();
    }

    // 检查自定义文件名称
    public function checkFilename($where)
    {
        return Db::name('content')->field('id')
            ->where($where)
            ->find();
    }
}